// File Name: fan_ctrl.c
// Author: kukukukuku~
// Date: 2024-06-27

#include "./User/Fan/inc/fan_ctrl.h"

/**
 * @brief   Fan初始化
 * @param   None
 * @retval  None
 * @note    静态函数
*/
static void fan_init(void)
{
    gpio_init_type gpioInitStruct = 
    {
        .gpio_pins           = FAN_GPIO_PIN,
        .gpio_out_type       = GPIO_OUTPUT_PUSH_PULL,
        .gpio_pull           = GPIO_PULL_NONE,
        .gpio_mode           = GPIO_MODE_OUTPUT,
        .gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER,
    };
    
    //Fan GPIO初始化
    crm_periph_clock_enable(FAN_GPIO_CRM, TRUE);
    gpio_init(FAN_GPIO_PORT, &gpioInitStruct);
}


/**
 * @brief   打开Fan
 * @param   None
 * @retval  None
 * @note    None
*/
void fan_on(void)
{
    FAN_ENA ?\
    gpio_bits_set(FAN_GPIO_PORT, FAN_GPIO_PIN) :\
    gpio_bits_reset(FAN_GPIO_PORT, FAN_GPIO_PIN);
}


/**
 * @brief   关闭Fan
 * @param   None
 * @retval  None
 * @note    None
*/
void fan_off(void)
{
    FAN_DISA ?\
    gpio_bits_set(FAN_GPIO_PORT, FAN_GPIO_PIN) :\
    gpio_bits_reset(FAN_GPIO_PORT, FAN_GPIO_PIN);
}


/**
 * @brief   Fan配置
 * @param   None
 * @retval  None
 * @note    None
*/
void fan_config(void)
{
    fan_init();
    fan_off();
}
